/**
 * <b>项目名称：</b>网络应用框架<br/>
 * <b>包    名：</b>com.hhwy.framework.code.generation.writer<br/>
 * <b>文 件 名：</b>VelocityWriter.java<br/>
 * <b>版本信息：</b><br/>
 * <b>日    期：</b>2014年10月14日-上午10:15:07<br/>
 * <b>Copyright (c)</b> 2014恒华伟业科技股份有限公司-版权所有<br/>
 * 
 */
package com.hhwy.framework.code.generation.writer;

import java.io.IOException;
import java.io.StringWriter;
import java.util.HashMap;
import java.util.Map;

 /**
 * <b>类 名 称：</b>VelocityWriter<br/>
 * <b>类 描 述：</b><br/>
 * <b>创 建 人：</b>zhangbaojian<br/>
 * <b>修 改 人：</b>zhangbaojian<br/>
 * <b>修改时间：</b>2014年10月14日 上午10:15:07<br/>
 * <b>修改备注：</b><br/>
 * @version 1.0.0<br/>
 */
public class CodeWriter extends StringWriter{

	private Map<String, String> fileMap = new HashMap<String, String>();
	private String filePath;
	private boolean isFile = false;
	

	public String getFilePath() {
		return filePath;
	}

	public void setFilePath(String filePath) {
		this.filePath = filePath;
	}

	public boolean isFile() {
		return isFile;
	}

	public void setFile(boolean isFile) {
		this.isFile = isFile;
	}

	public Map<String, String> getFileMap() {
		return fileMap;
	}

	public void setFileMap(Map<String, String> fileMap) {
		this.fileMap = fileMap;
	}
	
	
	public void write(char[] cbuf) throws IOException {
		if(this.isFile){
			String value = this.fileMap.get(this.filePath);
			if(value != null){
				this.fileMap.put(this.filePath, value+String.valueOf(cbuf));
			} else {
				this.fileMap.put(this.filePath, String.valueOf(cbuf));
			}
			
    	} else {
    		super.write(cbuf);
    	}
	}
	
	
	public void write(String str) {
		if(this.isFile){
			String value = this.fileMap.get(this.filePath);
			if(value != null){
				this.fileMap.put(this.filePath, value+str);
			} else {
				this.fileMap.put(this.filePath, str);
			}
    	} else {
    		super.write(str);
    	}
	}
	
	public static void main(String[] args) {
		Map<String, String> map = new HashMap<String, String>();
		map.put("test", "test");
		String aa = map.get("test");
		map.put("test", aa+"11111111");
		System.out.println(map.get("test"));
		
	}
}
